; 文件比较(比较文件是否完全相同)
; 最后更新(2024.07.29)
#Requires AutoHotkey v2.0

; 仅在测试中包含
; #Include FileTool.ahk

class FileComparison {

    ; 比较两个文件是否相同(相同:返回true, 不同:返回false)
    static compar(file1, file2) {
        return this._m1(file1, file2)
    }

    ; 比较数组中的所有文件是否全部完全相同(相同:返回true, 不同:返回false)
    static compars(files) {
        for (i, f in files) {
            if (this.compar(files[1], f)) {
                return false
            }
        }

        return true
    }

    ; 模型1
    static _m1(file1, file2) {

        if (file1 == file2) {
            return true
        }

        file := FileTool() ; 文件处理对象

        content1 := file.read(file1) ; 读取文件1
        content2 := file.read(file2) ; 读取文件2


        return content1 == content2 ; 比较文件

    }

}


; ----- test 测试-----

; a := FileComparison.compar("D:\window\desktop\新建文本文档.txt","D:\window\desktop\新建文本文档 - 副本.txt")

; msgBox a ? "文件相同" : "文件不同"